home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / AppleShare IP SDK / ASIP Registry / Headers / AppleShareFileServerRegistry.p < prev    next >
Encoding:
Text File  |  1998-07-17  |  13.0 KB  |  415 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        AppleShareFileServerRegistry.p
  3.  
  4.      Contains:    Registry records for file server.
  5.  
  6.      Version:    Technology:    AppleShare IP 6.0
  7.                  Release:    ASIP 6.0 SDK - Friday, July 10, 1998 11:16:11 AM
  8.  
  9.      Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT AppleShareFileServerRegistry;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __APPLESHAREFILESERVERREGISTRY__}
  27. {$SETC __APPLESHAREFILESERVERREGISTRY__ := 1}
  28.  
  29. {$I+}
  30. {$SETC AppleShareFileServerRegistryIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __FILES__}
  34. {$I Files.p}
  35. {$ENDC}
  36.  
  37.  
  38. {$PUSH}
  39. {$ALIGN MAC68K}
  40. {$LibExport+}
  41.  
  42.  
  43. TYPE
  44.     Str42                                = STRING[42];
  45.     Str199                                = STRING[199];
  46.  
  47. CONST
  48.     kFSCreatorSig                = 'ipwf';                        {  Attribute Signature for FileServer Service object attributes }
  49.  
  50.                                                                 {  Attribute Types for FileServer Service object each attribute  }
  51.     kFSServerInfoType            = 'srvr';                        {  ServerInfo }
  52.     kFSServerGreetingType        = 'gret';
  53.     kFSCacheInfoType            = 'cach';
  54.     kFSIdleUserInfoType            = 'idle';
  55.     kFSAdminInfoType            = 'admm';
  56.     kFSHTTPInfoType                = 'http';
  57.     kFSHTTPFolderType            = 'hfol';
  58.     kFSHTTPFileType                = 'hfil';
  59.     kFSHTTPPluginType            = 'hplg';
  60.     kFSMultiWebDirSig            = 'webd';                        {  Multi Domain signature  }
  61.     kFSHTTPWebDirCountType        = 'domC';
  62.     kFSHTTPWebDirType            = '0000';
  63.     kFSFTPInfoType                = 'ftp ';
  64.     kFSAFPInfoType                = 'afp ';
  65.     kFSSMBInfoType                = 'smb ';
  66.     kFSMimeType                    = 'mime';
  67.     kFSIPFilterType                = 'filt';
  68.     kFSMaxConnection            = 'maxc';                        {  max concurrent connection  }
  69.  
  70. { Service specific advanced options }
  71.     kFSAFPTCPSig                = 'afpt';                        {  AFP over TCP port signature  }
  72.     kFSSMBInfoSig                = 'smb ';                        {  SMB over TCP port signature  }
  73.     kFSHTTPInfoSig                = 'http';                        {  HTTP port signature  }
  74.     kFSFTPInfoSig                = 'ftp ';                        {  FTP port signature  }
  75.  
  76.     kFSPortType                    = 'port';                        {  port number (UInt16) for all services  }
  77.     kFSSessionTimeout            = 'ssto';                        {  session timeouts for all services (SInt32)  }
  78.  
  79.     kFSTransferTimeout            = 'trto';                        {  transfer timeout for kFSFTPInfoSig (SInt32)  }
  80.     kFSKeepAliveTimeout            = 'kato';                        {  keep alive timeout for kFSHTTPInfoSig (SInt32)  }
  81.     kFSCGITimeout                = 'cgto';                        {  CGI timeout for kFSHTTPInfoSig (SInt32)  }
  82.     kFSLogSize                    = 'logs';                        {  Log Size - for kFSHTTPInfoSig (UInt32)  }
  83.  
  84. { UAM information... }
  85.     kFSUAMInfoSig                = 'uam ';                        {  Signature  }
  86.  
  87.  
  88.     kFSNumUAMS                    = 'uamc';                        {  Number of UAMs (UInt32)  }
  89.     kFSUAMNames                    = 'uams';                        {  UAM names (buffer of packed pascal strings)  }
  90.  
  91. {----------------------------------------------------------}
  92. {        Server Preference - General Information                }
  93. {----------------------------------------------------------}
  94.     kFSServerInfoVersion        = 1;
  95.  
  96.  
  97.  
  98. TYPE
  99.     ServerInfoPtr = ^ServerInfo;
  100.     ServerInfo = RECORD
  101.         versionNumber:            SInt16;                                    {  version number for this record  }
  102.         fileServerVersion:        SInt16;                                    {  version# for file server  }
  103.         userActivityLimit:        SInt16;                                    {  user activity limit in %  }
  104.         maxLogin:                SInt16;                                    {  maximum client connections  }
  105.         maxGuestAccess:            SInt16;                                    {  maximum number of guest and anonymous logins  }
  106.         shutdownMinutes:        SInt16;                                    {  minutes until shutdown  }
  107.     END;
  108.  
  109. {----------------------------------------------------------}
  110. {        Server Preference - connect info & Login Greeting    }
  111. {----------------------------------------------------------}
  112.  
  113. CONST
  114.     kFSServerGreetingVersion    = 1;
  115.  
  116.  
  117. TYPE
  118.     ServerGreetingPtr = ^ServerGreeting;
  119.     ServerGreeting = RECORD
  120.         versionNumber:            SInt16;                                    {  version number for this record  }
  121.         greetingMsg:            Str199;                                    {  login greeting  }
  122.     END;
  123.  
  124. {----------------------------------------------------------}
  125. {        Server Preference - Additional Cache Information    }
  126. {----------------------------------------------------------}
  127.  
  128. CONST
  129.     kFSCacheInfoVersion            = 1;
  130.  
  131.  
  132. TYPE
  133.     CacheInfoPtr = ^CacheInfo;
  134.     CacheInfo = RECORD
  135.         versionNumber:            SInt16;                                    {  version number for this record  }
  136.         cacheForOthers:            SInt32;                                    {  memory to be reserved for other applications  }
  137.     END;
  138.  
  139. {----------------------------------------------------------}
  140. {        Server Preference - Idle User Information            }
  141. {----------------------------------------------------------}
  142. { idleFlag bits. }
  143.  
  144. CONST
  145.     kFSIdleDisconEnabledMask    = $0001;                        {  allow to disconnect idle users  }
  146.     kFSDisconExeptOpenFilesMask    = $0002;                        {  if true, disconnect except open file users  }
  147.     kFSDisconSuperUserMask        = $0004;                        {  if true, isconnect idel super users  }
  148.     kFSDisconNormalUserMask        = $0008;                        {  if true, disconnect idle normal users  }
  149.     kFSDisconGuestUserMask        = $0010;                        {  if true, disconnect idle guest users  }
  150.  
  151.  
  152.     kFSIdleUserInfoVersion        = 1;
  153.  
  154.  
  155. TYPE
  156.     IdleUserInfoPtr = ^IdleUserInfo;
  157.     IdleUserInfo = RECORD
  158.         versionNumber:            SInt16;                                    {  version number for this record  }
  159.         idleFlag:                SInt16;                                    {  see above  }
  160.         idleMinute:                SInt16;                                    {  max # of minute for idle users  }
  161.         disconnectMsg:            Str199;                                    {  disconnect message  }
  162.     END;
  163.  
  164. {----------------------------------------------------------}
  165. {        Server Preference - Serial Miscelleneous Information}
  166. {----------------------------------------------------------}
  167.  
  168. CONST
  169.     kFSAdminInfoVersion            = 1;
  170.  
  171.  
  172. TYPE
  173.     AdminInfoPtr = ^AdminInfo;
  174.     AdminInfo = RECORD
  175.         versionNumber:            SInt16;                                    {  version number for this record  }
  176.         namePhone:                Str31;                                    {  name & phone  }
  177.         organization:            Str31;                                    {  organization  }
  178.     END;
  179.  
  180. {----------------------------------------------------------}
  181. {        Server Preference - HTTP Information                }
  182. {----------------------------------------------------------}
  183. { Flag bits.     }
  184.  
  185. CONST
  186.     kFSMultiDomainEnabled        = $0001;                        {  allow multi-domain support  }
  187.     kFSDirListingEnabled        = $0002;                        {  allow directory listing  }
  188.     kFSAutoShareWebFolder        = $0004;                        {  if on, web folder share point at start up; server will clear  }
  189.  
  190.     kFSHTTPServiceInfoVersion    = 2;
  191.  
  192.     kFSHTTPEnable                = 1;                            {  enable HTTP }
  193.     kFSHTTPLogEnable            = 1;                            {  enable HTTP Log }
  194.     kFSHTTPGuestEnable            = 1;                            {  guest turned on for HTTP }
  195.  
  196.  
  197. TYPE
  198.     HTTPServiceInfoPtr = ^HTTPServiceInfo;
  199.     HTTPServiceInfo = RECORD
  200.         versionNumber:            SInt16;                                    {  version number for this record  }
  201.         enabled:                SInt16;                                    {  Enable HTTP, 1-enable, 0-not enable  }
  202.         status:                    SInt16;
  203.         logEnabled:                SInt16;                                    {  Enable HTTP Log, 1-enable, 0-not enable  }
  204.         maxConnect:                SInt16;                                    {  HTTP maximum client connections  }
  205.         guestEnabled:            SInt16;                                    {  Whether guest allowed for HTTP  }
  206.         flag:                    SInt32;                                    {  new field for ASIP6  }
  207.     END;
  208.  
  209.     HTTPFolderRecPtr = ^HTTPFolderRec;
  210.     HTTPFolderRec = RECORD
  211.         vRefNum:                SInt16;                                    {  HTML folder path vRefNum }
  212.         volumeName:                Str27;                                    {  HTML folder path volume name }
  213.         volCreateDate:            UInt32;                                    {  HTML folder path volume creation date }
  214.         dirID:                    SInt32;                                    {  HTML folder path DirID }
  215.     END;
  216.  
  217.     HTTPFileRecPtr = ^HTTPFileRec;
  218.     HTTPFileRec = RECORD
  219.         partialPath:            Str255;                                    {  partial path to HTML file starting from the Web folder  }
  220.     END;
  221.  
  222.  
  223. CONST
  224.     kFSPlugInEnable                = 1;                            {  enable Plug-ins }
  225.     kFSPlugInLoggingEnable        = 1;                            {  enable Plug-in logging }
  226.  
  227.  
  228. TYPE
  229.     HTTPPlugInsRecPtr = ^HTTPPlugInsRec;
  230.     HTTPPlugInsRec = RECORD
  231.         pluginEnable:            SInt16;                                    {  Plug-ins,  1-enable, 0-not enable  }
  232.         loggingEnable:            SInt16;                                    {  Plug-in logging, 1-enable, 0-not enable  }
  233.         memSize:                SInt32;                                    {  Plug-in memory allocation  }
  234.         preProcessorSpec:        FSSpec;                                    {  Preprocessor plugin spec  }
  235.         postProcessorSpec:        FSSpec;                                    {  Postprocessor plugin spec  }
  236.         errorSpec:                FSSpec;                                    {  Error plugin spec  }
  237.     END;
  238.  
  239.     VolSpecPtr = ^VolSpec;
  240.     VolSpec = RECORD
  241.         vName:                    Str32;                                    {  pascal string because FSSpec uses pascal string }
  242.         filler:                    SInt8;
  243.         vRefNum:                SInt16;
  244.         vCreateDate:            UInt32;
  245.     END;
  246.  
  247.  
  248. CONST
  249.     kFSHTTPWebDirCountRecVersion = 1;
  250.  
  251.  
  252. TYPE
  253.     HTTPWebDirCountRecPtr = ^HTTPWebDirCountRec;
  254.     HTTPWebDirCountRec = RECORD
  255.         count:                    UInt16;                                    {  How many HTTPWebDirRec there are  }
  256.         version:                SInt16;                                    {  Version of the HTTPWebDirRec  }
  257.     END;
  258.  
  259.  
  260. CONST
  261.     kFSWebFolderEnabled            = 1;
  262.  
  263.     kFSAddressTypeDNS            = 0;
  264.     kFSAddressTypeIPAddress        = 1;
  265.  
  266.  
  267. TYPE
  268.     HTTPWebDirRecPtr = ^HTTPWebDirRec;
  269.     HTTPWebDirRec = RECORD
  270.         enabled:                UInt16;                                    {  1 == this web folder enabled, 0 == disabled  }
  271.         addressType:            SInt16;                                    {  Indicates how to decode addressText: 0 == DNS name, 1 = IP Address (in ASCII)  }
  272.         addressText:            Str63;                                    {  Domain name or IP address (in ASCII) of this web folder (pascal str) See addressType field  }
  273.         portNumber:                UInt16;                                    {  Port number for this web folder's IP address (InetPort)  }
  274.         volSpec:                VolSpec;                                {  Volume specifier  }
  275.         dirID:                    SInt32;                                    {  Dir ID of this web folder  }
  276.     END;
  277.  
  278. {----------------------------------------------------------}
  279. {        Server Preference - FTP Information                    }
  280. {----------------------------------------------------------}
  281.  
  282. CONST
  283.     kFSFTPServiceInfoVersion    = 1;
  284.  
  285.  
  286. TYPE
  287.     FTPServiceInfoPtr = ^FTPServiceInfo;
  288.     FTPServiceInfo = RECORD
  289.         versionNumber:            SInt16;                                    {  version number for this record  }
  290.         ftpEnable:                SInt16;                                    {  Enable FTP, 1-enable, 0-not enable  }
  291.         status:                    SInt16;
  292.         ftpAnonymousEnable:        SInt16;                                    {  Enable Anonymous Login, 1-enable, 0-not enable  }
  293.     END;
  294.  
  295. {----------------------------------------------------------}
  296. {        Server Preference - AFP Information                    }
  297. {----------------------------------------------------------}
  298.  
  299. CONST
  300.     kFSAFPServiceInfoVersion    = 1;
  301.  
  302.  
  303. TYPE
  304.     AFPServiceInfoPtr = ^AFPServiceInfo;
  305.     AFPServiceInfo = RECORD
  306.         versionNumber:            SInt16;                                    {  version number for this record  }
  307.         afpOverTCPIPEnable:        SInt16;                                    {  Enable AFP over TCPIP, 1-enable, 0-not enable  }
  308.         afpOverTCPIPStatus:        SInt16;
  309.         afpOverATalkEnable:        SInt16;                                    {  Enable AFP over AppleTalk, 1-enable, 0-not enable  }
  310.     END;
  311.  
  312. {----------------------------------------------------------}
  313. {        Server Preference - SMB Information                    }
  314. {----------------------------------------------------------}
  315.  
  316. CONST
  317.     kFSSMBServiceInfoVersion    = 1;
  318.  
  319.     kFSSMBMaxNetBIOSnameLength    = 15;
  320.     kFSSMBMaxWorkGroupLength    = 15;
  321.     kFSSMBMaxCommentLength        = 43;
  322.     kFSSMBWINSAddressLength        = 62;
  323.  
  324.  
  325. TYPE
  326.     SMBServiceInfoPtr = ^SMBServiceInfo;
  327.     SMBServiceInfo = RECORD
  328.         versionNumber:            SInt16;                                    {  version number for this record  }
  329.         smbEnable:                SInt16;                                    {  Enable SMB, 1-enable, 0-not enable  }
  330.         status:                    SInt16;
  331.         guestEnabled:            SInt16;                                    {  Whether guest allowed for SMB  }
  332.         netBIOSname:            Str31;                                    {  Server name. Limited to 15 bytes  }
  333.         workGroup:                Str31;                                    {  NETBIOS group name.  Limited to 15 bytes  }
  334.         comment:                Str63;                                    {  ASCII comment for the server. Limited to 43 bytes  }
  335.         winsEnabled:            SInt16;                                    {  Enable WINS, 1-enable, 0-not enable  }
  336.         winsAddress:            Str63;                                    {  WINS IP address  }
  337.     END;
  338.  
  339. {----------------------------------------------------------------------}
  340. {        MIME type changes - Notify server SrvrMimeTypePrefs has changed    }
  341. {----------------------------------------------------------------------}
  342.  
  343. CONST
  344.     kFSMimeTypeChangedVersion    = 1;
  345.  
  346.  
  347. TYPE
  348.     MimeTypeChangedPtr = ^MimeTypeChanged;
  349.     MimeTypeChanged = RECORD
  350.         version:                SInt16;                                    {  version number for this record  }
  351.         counter:                SInt32;                                    {  no meaning, just for notification  }
  352.     END;
  353.  
  354. {----------------------------------------------------------}
  355. {        IPFilter Options - Advanced option for filtering IP }
  356. {----------------------------------------------------------}
  357.  
  358. CONST
  359.     kFSIPFilterAllow            = 1;
  360.  
  361. { Structure of individual filters }
  362.  
  363. TYPE
  364.     IPFilterStructPtr = ^IPFilterStruct;
  365.     IPFilterStruct = RECORD
  366.         allow:                    SInt16;                                    {  0 for disallow, 1 for allow  }
  367.         highIPBytes:            UInt32;
  368.         lowIPBytes:                UInt32;
  369.     END;
  370.  
  371.  
  372. CONST
  373.     kFSMaxIPFilters                = 10;
  374.  
  375.  
  376. TYPE
  377.     IPFilterInfoPtr = ^IPFilterInfo;
  378.     IPFilterInfo = RECORD
  379.         versionNumber:            SInt16;                                    {  version number for this record  }
  380.         numFilters:                SInt16;                                    {  numberOfIPFilters  }
  381.         filters:                ARRAY [0..9] OF IPFilterStruct;
  382.     END;
  383.  
  384. {----------------------------------------------------------}
  385. {        Max connection information                            }
  386. {----------------------------------------------------------}
  387. {
  388.    tags for this record are type:kFSCreatorSig  and attribute:kFSMacConnextion
  389.    this value will be used if the max connection number encoded in serial number is 250
  390. }
  391.  
  392. CONST
  393.     kFSServerMaxConnectionInfoVersion = 1;
  394.  
  395.  
  396. TYPE
  397.     ServerMaxConnectionInfoPtr = ^ServerMaxConnectionInfo;
  398.     ServerMaxConnectionInfo = RECORD
  399.         version:                SInt16;
  400.         flag:                    SInt32;                                    {  reserved for future use  }
  401.         maxConnection:            SInt32;
  402.     END;
  403.  
  404. {  -------------------------------------------------------------------------------------------------  }
  405. {$ALIGN RESET}
  406. {$POP}
  407.  
  408. {$SETC UsingIncludes := AppleShareFileServerRegistryIncludes}
  409.  
  410. {$ENDC} {__APPLESHAREFILESERVERREGISTRY__}
  411.  
  412. {$IFC NOT UsingIncludes}
  413.  END.
  414. {$ENDC}
  415.